package com.tecode.myBooks.filter;

import javax.servlet.*;
import java.io.IOException;

/**
 * Created with Intellij IDEA.
 *
 * @Author: Gabriel
 * @Date: 2018-12-10
 * @Description:
 *
 * 		过滤器：
 * 			要让一个类是一个过滤器类，那么必须实现Filter接口
 *
 * 		Filter的作用：
 *			在到达请求的资源之前和响应响应消息之前可以多信息的拦截。
 *			Filter类相当于小区的保安。
 *
 *		Filter：过滤器
 *			init:过滤器类的初始化方法。
 *			doFilter：过滤器类的业务逻辑处理方法。
 *			destroy：过滤器的小孩方法
 *  	FilterConfig：过滤器的配置
 *  		和ServletConfig对象类似。
 *
 * 		FilterChain：过滤器链。
 * 				doFilter
 *
 *	1.定义好一个Filter类后，必须和Servelt一样需要注册到Web容器中。
 *
 */
public class MyFilter2 implements Filter{

	@Override
	public void init(FilterConfig filterConfig) throws ServletException {

	}

	@Override
	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {



		System.out.println("3");
		//如果Filter验证成功后，需把当前的请求放行。
		/**
		 * @Author Gabriel
		 * @Description //TODO
		 * @Date 2018/12/10
		 * @Param [servletRequest, servletResponse, filterChain]
		 * @Return void
		 * 如果当前的Filter，是整个Filter链中的最后一个Filter,则把默认方法到请求的资源上。
		 * 				  不是整个Filter链中的最后一个FIlter，则放行到Filter链中的下一个Filter中。
		 */
		filterChain.doFilter(servletRequest,servletResponse);
		System.out.println("4");
	}

	@Override
	public void destroy() {

	}
}